/*
 * UsuarioBusinessObjectImpl.java
 *
 * Created on 15 de Julho de 2007, 10:59
 *
 * To change this template, choose Tools | Template Manager
 * and open the template in the editor.
 */

package br.unifor.finance.business.bo.classes;

import br.unifor.finance.business.bo.UsuarioBusinessObject;
import br.unifor.finance.common.business.entity.Usuario;
import br.unifor.finance.persistence.dao.GenericDAO;
import br.unifor.finance.persistence.dao.GenericDAOException;
import java.util.List;

/**
 *
 * @author Clebernaice, Cleilson, Leonardo
 */
public class UsuarioBusinessObjectImpl
        extends GenericAbstractBusinessObject<Usuario, Integer>
        implements UsuarioBusinessObject {
  
  GenericDAO<Usuario, Integer> dao;
  
  /**
   * Creates a new instance of UsuarioBusinessObjectImpl
   */
  UsuarioBusinessObjectImpl(GenericDAO<Usuario, Integer> dao) {
    super(dao);
    this.dao = dao;
  }

  protected Class<Usuario> getEntityClass() {
    return Usuario.class;
  }

  public Usuario login(String login, String password) {
    try {
      List<Usuario> usuarioList = dao.findList(Usuario.class, "login", login);
      
      if (usuarioList == null)
        return null;
      
      Usuario usuarioResult = null;
      boolean usuarioFinded = false;
      for (int i = 0; (i < usuarioList.size()) && (!usuarioFinded); i++) {
        usuarioResult = usuarioList.get(i);
        if (password.equals(usuarioResult.getSenha()))
          usuarioFinded = true;
      }
      
      return usuarioFinded ? usuarioResult : null;
      
    } catch (GenericDAOException ex) {
      // TODO Fazer um log inteligente.
      ex.printStackTrace();
      return null;
    }
  }
  
}
